imgNatWid = 0;   //定义原图片的宽度
imgNatHei = 0;   //定义原图片的高度
imgBlob = '';    //定义图片的二进制数据流
// 上传图片
function previewImage(file) {
  var prevDiv = $(file).siblings('.preview')[0];
  var files = $(file)[0].files[0];
  var type = files.type;

  if (type != 'image/jpg' && type != 'image/jpeg' && type != 'image/png' && type != 'image/gif' && type != 'image/bmp') {
    $('.box').show().delay(3000).fadeOut();
    $('.box').find('.msg').text('只能上传图片文件（.jpg .jpeg .png .gif）');
    return false;
  }
  if (file.files && file.files[0]) {
    var reader = new FileReader();
    reader.onload = function (evt) {
      prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';

      var img = new Image();
      img.src = reader.result;
      //获取图片原尺寸
      img.onload = function () {
        imgNatWid = this.width;
        imgNatHei = this.height;
      };
    }
    reader.readAsDataURL(file.files[0]);
    readBlob($(file));
  }
}

// 读取图像文件的二进制数据
function readBlob(files) {
  var picStrDiv = files.siblings('.picStr')[0];
  
  var file = files[0].files[0];

  var reader = new FileReader();
  reader.onloadend = function (evt) {
    if (evt.target.readyState == FileReader.DONE) { // DONE == 2
      imgBlob = evt.target.result;
    }

    // 判断是否需要调用 getCode 函数
    if (picStrDiv != undefined) {
      var prevDiv = files.siblings('.preview')[0];
      var id = prevDiv.getAttribute('id');

      if (id == 'viewImgs'){
        // 清空特征码
        codeArr = [];
      }
      // 提取图片特征码
      getCode(imgBlob, picStrDiv, prevDiv, reader);
    }
  };

  reader.readAsBinaryString(file);
}
$(document).ready(function () {
  // 计算图片盒子的最大高度
  var clientHeight = document.documentElement.clientHeight; // 定义屏幕可视区高度
  var navHeight = $('.nav-tabs').outerHeight();      // 定义导航栏的高度
  var mainHeight = $('.div-upload').outerHeight();   //定义主要部分的高度
  var newHeight = clientHeight - navHeight - mainHeight;
  $('#preview').css('height', newHeight + 'px')
});